const sass = require("sass")
const loadGruntTasks = require("load-grunt-tasks")
module.exports = grunt =>{
    grunt.initConfig({
        // 编译scss样式文件
        sass:{
            // 设置grunt-sass中使用哪个模块去处理sass编译
            options:{
                implementation: sass,
                sourceMap: true
            },
            main:{
                files:{
                    'dist/assets/styles/main.scss' : 'src/assets/styles/main.scss'
                }
            }
        },
        babel:{
            // 设置babel环境预设
            options:{
                presets: ["@babel/preset-env"],
                sourceMap: true
            },
            main:{
                files:{
                    'dist/assets/scripts/main.js' : 'src/assets/scripts/main.js'
                }
            }
        },
        watch:{
            // 监视js源文件变化
            js:{
                files:['src/assets/scripts/*.js'],
                // 改变时需执行的任务
                tasksL:["babel"]
            },
            // 监视css源文件变化
            css:{
                files:['src/assets/style/*.css'],
                // 改变时需执行的任务
                tasksL:["sass"]
            }
        }
    })
    // 自动加载所有grunt产检中的任务
    loadGruntTasks(grunt)
    // grunt.loadNpmTasks("grunt-sass")
    // 确保启动实现执行一次编译，再监听
    grunt.registerTask("default", [ "babel" , "sass" , "watch"])
}